package com.gm.wholesale.module.order.bean;

import android.text.TextUtils;

import com.gm.commonlib.util.numberUtils.NumberUtils;
import com.gm.wholesale.module.aftersale.bean.AftersalesBean;
import com.gm.wholesale.module.good.bean.GoodListBean;
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.List;
public class OrderDetailBean implements Serializable {

    @SerializedName("customerInfo")
    private CustomerInfoDTO customerInfo;
    @SerializedName("orderInfo")
    private OrderInfoDTO orderInfo;
    @SerializedName("orderDetails")
    private List<OrderDetailsDTO> orderDetails;


     //用于售后那里使用。商品数据已经减去 已售后数据的数据。售后界面直接使用
    private List<OrderDetailsDTO> handelOrderDetailsDTO;


    public List<AftersalesBean> aftersales;

    public CustomerInfoDTO getCustomerInfo() {
        return customerInfo;
    }

    public List<OrderDetailsDTO> getHandelOrderDetailsDTO() {
        return handelOrderDetailsDTO;
    }

    public void setHandelOrderDetailsDTO(List<OrderDetailsDTO> handelOrderDetailsDTO) {
        this.handelOrderDetailsDTO = handelOrderDetailsDTO;
    }

    public void setCustomerInfo(CustomerInfoDTO customerInfo) {
        this.customerInfo = customerInfo;
    }

    public OrderInfoDTO getOrderInfo() {
        return orderInfo;
    }

    public void setOrderInfo(OrderInfoDTO orderInfo) {
        this.orderInfo = orderInfo;
    }

    public List<OrderDetailsDTO> getOrderDetails() {
        return orderDetails;
    }

    public void setOrderDetails(List<OrderDetailsDTO> orderDetails) {
        this.orderDetails = orderDetails;
    }



    public static class CustomerInfoDTO implements Serializable{
        @SerializedName("customerName")
        private String customerName;
        @SerializedName("customerId")
        private Integer customerId;
        @SerializedName("address")
        private String address;

        public String getCustomerName() {
            return customerName;
        }

        public void setCustomerName(String customerName) {
            this.customerName = customerName;
        }

        public Integer getCustomerId() {
            return customerId;
        }

        public void setCustomerId(Integer customerId) {
            this.customerId = customerId;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }
    }


    public static class OrderInfoDTO implements Serializable{
        @SerializedName("orderId")
        private long orderId;
        @SerializedName("payment")
        private int payment;

        @SerializedName("shouldRefundAmount")
       private String shouldRefundAmount;

        public String getShouldRefundAmount() {
            return shouldRefundAmount;
        }

        public void setShouldRefundAmount(String shouldRefundAmount) {
            this.shouldRefundAmount = shouldRefundAmount;
        }

        public int getPayment() {
            return payment;
        }

        public void setPayment(int payment) {
            this.payment = payment;
        }

        @SerializedName("orderNo")
        private String orderNo;
        @SerializedName("paid")
        private Boolean paid;
        @SerializedName("completed")
        private Boolean completed;
        @SerializedName("status")
        private long status;
        @SerializedName("paidAmount")
        private String paidAmount;
        @SerializedName("salesAmount")
        private String salesAmount;
        @SerializedName("refundAmount")
        private String refundAmount;
        @SerializedName("discountAmount")
        private String discountAmount;
        @SerializedName("orderingTime")
        private String orderingTime;
        @SerializedName("deliveryTime")
        private String deliveryTime;
        @SerializedName("completeTime")
        private String completeTime;
        @SerializedName("paidTime")
        private String paidTime;
        @SerializedName("skuCount")
        private long skuCount;
        @SerializedName("sortingSkuCount")
        private long sortingSkuCount;
        @SerializedName("version")
        private long version;
        @SerializedName("printed")
        private Boolean printed;
        //应收费用
        @SerializedName("receivableAmount")
       private String receivableAmount;
        @SerializedName("debtAmount")
        private String debtAmount;
        @SerializedName("aftersaleAmount")
        private String aftersaleAmount;

        @SerializedName("paidStatus")
        private int paidStatus;

        public int getPaidStatus() {
            return paidStatus;
        }

        public void setPaidStatus(int paidStatus) {
            this.paidStatus = paidStatus;
        }

        public String getAftersaleAmount() {
            return aftersaleAmount;
        }

        public void setAftersaleAmount(String aftersaleAmount) {
            this.aftersaleAmount = aftersaleAmount;
        }

        public String getDebtAmount() {
            return debtAmount;
        }

        public void setDebtAmount(String debtAmount) {
            this.debtAmount = debtAmount;
        }

        public String getReceivableAmount() {
            return receivableAmount;
        }

        public void setReceivableAmount(String receivableAmount) {
            this.receivableAmount = receivableAmount;
        }

        public String getRefundAmount() {
            return refundAmount;
        }

        public void setRefundAmount(String refundAmount) {
            this.refundAmount = refundAmount;
        }

        public long getOrderId() {
            return orderId;
        }

        public void setOrderId(long orderId) {
            this.orderId = orderId;
        }

        public String getOrderNo() {
            return orderNo;
        }

        public void setOrderNo(String orderNo) {
            this.orderNo = orderNo;
        }

        public Boolean getPaid() {
            return paid;
        }

        public void setPaid(Boolean paid) {
            this.paid = paid;
        }

        public Boolean getCompleted() {
            return completed;
        }

        public void setCompleted(Boolean completed) {
            this.completed = completed;
        }

        public long getStatus() {
            return status;
        }

        public void setStatus(long status) {
            this.status = status;
        }

        public String getPaidAmount() {
            return paidAmount;
        }

        public void setPaidAmount(String paidAmount) {
            this.paidAmount = paidAmount;
        }

        public String getSalesAmount() {
            return salesAmount;
        }

        public void setSalesAmount(String salesAmount) {
            this.salesAmount = salesAmount;
        }

        public String getDiscountAmount() {
            return discountAmount;
        }

        public void setDiscountAmount(String discountAmount) {
            this.discountAmount = discountAmount;
        }

        public String getOrderingTime() {
            return orderingTime;
        }

        public void setOrderingTime(String orderingTime) {
            this.orderingTime = orderingTime;
        }

        public String getDeliveryTime() {
            return deliveryTime;
        }

        public void setDeliveryTime(String deliveryTime) {
            this.deliveryTime = deliveryTime;
        }

        public String getCompleteTime() {
            return completeTime;
        }

        public void setCompleteTime(String completeTime) {
            this.completeTime = completeTime;
        }

        public String getPaidTime() {
            return paidTime;
        }

        public void setPaidTime(String paidTime) {
            this.paidTime = paidTime;
        }

        public long getSkuCount() {
            return skuCount;
        }

        public void setSkuCount(long skuCount) {
            this.skuCount = skuCount;
        }

        public long getSortingSkuCount() {
            return sortingSkuCount;
        }

        public void setSortingSkuCount(long sortingSkuCount) {
            this.sortingSkuCount = sortingSkuCount;
        }

        public long getVersion() {
            return version;
        }

        public void setVersion(long version) {
            this.version = version;
        }

        public Boolean getPrinted() {
            return printed;
        }

        public void setPrinted(Boolean printed) {
            this.printed = printed;
        }
    }


    public static class OrderDetailsDTO implements Serializable{
        @SerializedName("orderLineId")
        private long orderLineId;
        @SerializedName("skuName")
        private String skuName;
        @SerializedName("skuId")
        private long skuId;
        @SerializedName("orderingUnitName")
        private String orderingUnitName;
        @SerializedName("orderingUnitID")
        private long orderingUnitID;
        @SerializedName("outgoingUnitName")
        private String outgoingUnitName;
        @SerializedName("outgoingUnitID")
        private long outgoingUnitID;
        @SerializedName("quantity")
        private String quantity;
        @SerializedName("outgoingQuantity")
        private String outgoingQuantity;
        @SerializedName("sortingStatus")
        private long sortingStatus;
        @SerializedName("isOutOfStock")
        private Boolean isOutOfStock;
        @SerializedName("unitPrice")
        private String unitPrice;
        @SerializedName("remark")
        private String remark;
        @SerializedName("subtotal")
        private String subtotal;
        @SerializedName("newSku")
        private Boolean newSku;
        @SerializedName("units")
        private List<GoodListBean.UnitsBean> units;

        public List<GoodListBean.UnitsBean> getUnits() {
            return units;
        }

        public void setUnits(List<GoodListBean.UnitsBean> units) {
            this.units = units;
        }

        private boolean isAfterSaleData;

        public boolean isAfterSaleData() {
            return isAfterSaleData;
        }

        public void setAfterSaleData(boolean afterSaleData) {
            isAfterSaleData = afterSaleData;
        }

        private double afterNum;

        public double getAfterNum() {
            return afterNum;
        }

        public void setAfterNum(double afterNum) {
            this.afterNum = afterNum;
        }

        public long getOrderLineId() {
            return orderLineId;
        }

        public void setOrderLineId(long orderLineId) {
            this.orderLineId = orderLineId;
        }

        public String getSkuName() {
            return skuName;
        }

        public void setSkuName(String skuName) {
            this.skuName = skuName;
        }

        public long getSkuId() {
            return skuId;
        }

        public void setSkuId(long skuId) {
            this.skuId = skuId;
        }

        public String getOrderingUnitName() {
            return orderingUnitName;
        }

        public void setOrderingUnitName(String orderingUnitName) {
            this.orderingUnitName = orderingUnitName;
        }

        public long getOrderingUnitID() {
            return orderingUnitID;
        }

        public void setOrderingUnitID(long orderingUnitID) {
            this.orderingUnitID = orderingUnitID;
        }

        public String getOutgoingUnitName() {
            return outgoingUnitName;
        }

        public void setOutgoingUnitName(String outgoingUnitName) {
            this.outgoingUnitName = outgoingUnitName;
        }

        public long getOutgoingUnitID() {
            return outgoingUnitID;
        }

        public void setOutgoingUnitID(long outgoingUnitID) {
            this.outgoingUnitID = outgoingUnitID;
        }

        public String getQuantity() {
            return quantity;
        }

        public void setQuantity(String quantity) {
            this.quantity = quantity;
        }

        public String getOutgoingQuantity() {
            return outgoingQuantity;
        }

        public void setOutgoingQuantity(String outgoingQuantity) {
            this.outgoingQuantity = outgoingQuantity;
        }

        public long getSortingStatus() {
            return sortingStatus;
        }

        public void setSortingStatus(long sortingStatus) {
            this.sortingStatus = sortingStatus;
        }

        public Boolean getOutOfStock() {
            return isOutOfStock;
        }

        public void setOutOfStock(Boolean outOfStock) {
            isOutOfStock = outOfStock;
        }

        public String getUnitPrice() {
            return unitPrice;
        }

        public void setUnitPrice(String unitPrice) {
            this.unitPrice = unitPrice;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getSubtotal() {
            return subtotal;
        }

        public void setSubtotal(String subtotal) {
            this.subtotal = subtotal;
        }

        public Boolean getNewSku() {
            return newSku;
        }

        public void setNewSku(Boolean newSku) {
            this.newSku = newSku;
        }
    }



    public List<AftersalesBean> getAftersales() {
        return aftersales;
    }

    public void setAftersales(List<AftersalesBean> aftersales) {
        this.aftersales = aftersales;
    }




}
